import xadmin

from xadmin.views import BaseAdminPlugin,ListAdminView
from django.template import loader
from xadmin.plugins.utils import get_context_dict


class ImportExcelPlugin(BaseAdminPlugin):
    """
    自定义Excel文件导入插件
    自定义插件需要在_init_.py中注册,初始化关闭插件
    """
    import_excel = False

    def init_request(self, *args, **kwargs):
        """
        在Admin管理模块中启用插件代码:import_excel = True
        """
        return bool(self.import_excel)

    def block_top_toolbar(self, context, nodes):
        """
        自定义插件显示代码路径
        """
        nodes.append(loader.render_to_string('xadmin/blocks/model_list.top_toolbar.import.html', context=get_context_dict(context)))

# 注册插件
xadmin.site.register_plugin(ImportExcelPlugin,ListAdminView)